package modelo.dao.implementacion;

import java.sql.ResultSet;
import java.sql.SQLException;

import modelo.dao.SesionDAO;
import modelo.transfer.Usuario;

public class Sesion implements SesionDAO {

	private modelo.transfer.Sesion sesion = null;

	@Override
	public boolean logIn(String usuario, String pass) {

		System.out.println("Usuario:"+usuario+"Pass:"+pass);

		String sql = "SELECT * FROM usuarios WHERE "+
				"nombre=\'"+usuario+"\' and password=\'"+pass+"\'";

		boolean sesionIniciada = false;
		ResultSet rs = null;
		try {
			ConectorBBDD.iniciarConexion();
			rs = ConectorBBDD.realizarConsulta(false, sql);	

			if (rs != null){
				try {
					this.sesion = new modelo.transfer.Sesion(
								new Usuario(rs.getInt("id_usuario"),
											rs.getBoolean("es_admin"),
											rs.getString("password"),
											rs.getString("nombre")
									)
								);

					sesionIniciada = true;
					System.out.println("Usuario logueado en DAO.");
				} catch (NumberFormatException e) {
					e.printStackTrace();
				} catch (SQLException e) {
					e.printStackTrace();
				}			
			} else {

			}

			ConectorBBDD.cerrarConexion();

		} catch (Exception e) {
			e.printStackTrace();
		}

		return sesionIniciada;
	}

	@Override
	public void logOut(String usuario, String pass) {
		this.sesion = null;
	}

	@Override
	public modelo.transfer.Sesion getSesion(){
		return this.sesion; 
	}

	@Override
	public void logOut() {
		this.sesion = null;
	}

}
